#ifndef SIFTFEATUREDETECTOR_H
#define SIFTFEATUREDETECTOR_H

#include "opencv2/features2d/features2d.hpp"
#include "opencv2/core/core.hpp"

 class SiftFeatureDetector
 {
 
 public:
    SiftFeatureDetector();
    ~SiftFeatureDetector();

	void extract(
		const cv::Mat& input, 
		std::vector<cv::KeyPoint>& key_points,
		cv::Mat& descriptors);
 private:

	cv::Ptr<cv::FeatureDetector> _feature_detector;
	cv::Ptr<cv::DescriptorExtractor> _feature_extractor;

 };

 #endif // SIFTFEATUREDETECTOR_H